package com.life.nots.utils;

import java.util.*;

public class MapUtils {

    public static <K, V> Map<K, V> of(Object... keysAndValues) {
        // 检查是否成对
        if (keysAndValues.length % 2 != 0) {
            throw new IllegalArgumentException("键值对的数量必须是偶数");
        }
        Map<K, V> map = new HashMap<>();
        for (int i = 0; i < keysAndValues.length; i += 2) {
            map.put((K) keysAndValues[i], (V) keysAndValues[i + 1]);
        }

        return map;
    }

    // 另一个灵活版本，可以支持链式调用
    public static <K, V> Map<K, V> of(Map.Entry<K, V>... entries) {
        Map<K, V> map = new HashMap<>();
        for (Map.Entry<K, V> entry : entries) {
            map.put(entry.getKey(), entry.getValue());
        }
        return map;
    }
}
